One typical approach to computing provides a user with a local computer system. The local computer system can include local computing resources such as processing power, storage capacity, bandwidth for data transfers, output capability (e.g., display, audio speakers, etc.), input capability (e.g., keyboard, mouse, touch screen, camera, gesture recognition, etc.), and other resources. The user is able to exercise a high degree of control over the local computer system and the local resources in order to perform desired functions to achieve desired results. For example, a user can use computing resources to search for and display information, run simulations; create documents, images, video, or other content; send messages, play games, or to perform many other tasks.
In some cases a user may wish to use “virtual” computing resources that are not part of a local, or otherwise dedicated computing system. Typically virtual computing resources can include any of the resources that are available in a dedicated machine, such as a local computer. The virtual computing resources are typically maintained by a different entity that is not under the user's ownership or control. For example, a company may operate dozens or hundreds of remote computers that include the ability to provide many times the amount of processing power, storage capacity, bandwidth or other resources that a user may desire. So a user may benefit from using virtual computing resources to have greater or different processing power at their disposal than they might otherwise have.
It is desirable to provide a user with controls to select among local and remote resources to perform various tasks or functions.